#ifndef MURMURHASH3_H
#define MURMURHASH3_H

#include <cstdint>

namespace MurmurHash3 {

constexpr uint64_t c1 = 0x87c37b91114253d5;
constexpr uint64_t c2 = 0x4cf5ad432745937f;

inline uint64_t rotl64(uint64_t x, int8_t r);
inline uint64_t fmix64(uint64_t k);

void MurmurHash3_x64_64(const void* key, int len, uint32_t seed, void* out);
void MurmurHash3_x64_128(const void* key, int len, uint32_t seed, void* out);

} // namespace MurmurHash3

#endif // MURMURHASH3_H
